0 gün Seviye 1 Avar Teknolojileri

Tip ve Dönüşümler

Ders 2/6 · 1 dakika

Değişkenlerde öğrendiğimiz üzere farklı değişken türleri vardı. Bu türlere biz “değişken tipi” deriz. Yaptığımız işlere göre bize gereken değişken tipleri değişir, bazen bir değişken tipini değiştirmemiz gerekebilir.

Örneğin aşağıda hatalı bir kod örneği verelim:

sayi = input("5 ile toplanacak bir sayı girin: ")
print(sayi + 5) # Hata verecektir.

Matematiksel işlem yapabilmemiz için sayıların ondalıklı veya tam sayı olması gerektiğini biliyoruz. Ondalıktan tama veya metinden tama çevirme işlemini int() kullanarak yaparız.

sayi = "2"
print(type(sayi)) 
# Sayı değişkeninin değeri hangi tür? 
# String türünde, yani metinsel.
sayi = int(sayi)
print(type(sayi)) 
# Integer türünde, yani sayısal.

# ========

sayi = "2.0"
print(type(sayi)) 
# Sayı değişkeninin değeri hangi tür? 
# String türünde, yani metinsel.
sayi = int(float(sayi))
# Burada float kullandık, çünkü ondalık sayıyı temsil eden metinlerde
# direkt olarak integer'a çevirme yapamıyoruz.
# Önce float(sayi), ardından int(sayi) çalışacaktır.
print(type(sayi)) 
# Integer türünde, yani sayısal.

Şimdi sayılarımızı aynı işlem için kullanabiliriz.

# Integer türüne çevirdiğimiz sayı değişkeni
print(sayi + 5) # 2 + 5 = 7

Sayısal değerleri de aynı şekilde metne çevirebiliriz.

print(1 * 5) # 5
print(str(1) * 5) # 11111

Sayısal 1 ve 0 değerleri boolean’a (True/False) dönüşebilir. Boş metinler False, dolu metinler ise True’dur.

print(bool(0), "ben 'yanlış'ım") # False, ben yanlışım.
print(bool(1), "ben 'doğru'yum") # True, ben doğruyum.
print(bool("")) # False
print(bool("5")) # True

Matematiksel olarak okunduğunda çok büyük olan (TC kimlik numarası) ve sıfırla başlayan sayılar (telefon numarası) genellikle sayısal değer olarak kaydedilmez. Çünkü bu değerlerle çok fazla matematik yapılmasına gerek yoktur. Girdi kontrolü, mesela T.C. gerçekliğini doğrulama, metinsel değerin parçalanarak karşılaştırılmasıyla yapılır, bu hem daha az kaynak harcar hem de farklı kodlama modelleri için gereksiz bellek harcamamış olur.

Çünkü her değişken bellekte bir yer tutar.

yas = int(input("Yaşınız: "))
boyunuz = float(input("Boyunuz (x.yz): "))
telefon_numaraniz = input("Telefon numaranız: ")
# Input zaten metinsel bir fonksiyondur.

Örnek olarak vücut kütle indeksimizi hesaplayan bir kod yazalım.

# Doğru değerler girildiğini farz ederek
kilo = float(input("Kaç kilosunuz (x.y): "))
boy = float(input("Boyunuz kaç (x.yz): "))

# Boy 0 olmamak şartıyla
vki = kilo / (boy ** 2) # Karesini alalım

print("VKİ:", vki)

Dersi bitirdin mi?Bu dersi tamamladın.

İlerlemen bu tarayıcıda saklanır.